#ifndef DEVICE_INFO_MANAGER_H
#define DEVICE_INFO_MANAGER_H

#include "DeviceInfo.h"
#include <mutex>
#include <thread>
#include <functional>

using namespace std;

namespace Media{

class HttpDeviceInfoManager{
public:
    static HttpDeviceInfoManager *instance();
    bool getDevInfo();

    bool Subscribe(function<bool(Json::Value table)> cb);
    
    bool GetDeviceList(Json::Value &table);

private:
    HttpDeviceInfoManager();
    ~HttpDeviceInfoManager(){}

private:
    static mutex instanceLock;
    static HttpDeviceInfoManager *instanceDeviceInfoManager;
    DeviceInfo m_devInfo;
};



}
#endif 